Hood College
2026-04-16
Gemini code assist was active during the preparation of these notes, and some autosuggestions were incorporated into the final text.
README.md
CONTRIBUTING.md
LICENSE
CHANGELOG.md
MAJOR.MINOR.PATCH (e.g. v2.4.1)
PATCH (2.4.1 -> 2.4.2)
2.4.1 -> 2.5.0)
2.4.1 -> 3.0.0)
good first issue for attracting beginners)Example issue template on GiHub
For more than contributing to open source projects
Branching
mainfix/login-bug or feature/dark-modeCloses #42 in a PR description automatically closes Issue #42 when the PR is mergednpm)Automation of tasks on GitHub
Workflows are defined in YAML files inside .github/workflows/
Events/Triggers
on: pushon: pull_requeston: schedule for cron jobsMatrix Builds
Compilation of code when changes are pushed (e.g. for CD)
Dependabot
Dependencies can be a pain to manage, especially for less technical collaborators
Virtual environments (like venv or npm) help, but they don’t capture OS-level dependencies (like C++ compilers or database drivers)
DockerfileFROM python:3.10-slim # Starts with a tiny Linux environment pre-loaded with Python 3.10
RUN apt-get update && \
apt-get install -y samtools # install samtools
WORKDIR /app # Creates a folder called `/app` inside the container and moves into it
COPY requirements.txt . # Copy your Python dependency definitions into the image
RUN pip install -r requirements.txt # Installs Python packages (e.g. biopython, pandas) during the build process
COPY . . # Copy your actual analysis scripts into the image
CMD ["python", "analyze_sequences.py"] # The default command that executes when the container starts.dockerignorenode_modules, .git, data and environment variable files (.env)Example: Reviewers can pull a PR, type docker compose up, and test a complex app with a database instantly, without installing a database or other dependencies on their local machine